package com.ruoyi.zhgd.service;

import com.ruoyi.zhgd.domain.NAsphaltMatchThreshold;
import com.ruoyi.zhgd.domain.vo.NAsphaltMatchThresholdVo;
import com.ruoyi.zhgd.domain.bo.NAsphaltMatchThresholdBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 沥青筛分级配Service接口
 *
 * @author tll
 * @date 2023-10-12
 */
public interface INAsphaltMatchThresholdService {

    /**
     * 查询沥青筛分级配
     */
    NAsphaltMatchThresholdVo queryById(String id);

    /**
     * 查询沥青筛分级配列表
     */
    TableDataInfo<NAsphaltMatchThresholdVo> queryPageList(NAsphaltMatchThresholdBo bo, PageQuery pageQuery);

    /**
     * 查询沥青筛分级配列表
     */
    List<NAsphaltMatchThresholdVo> queryList(NAsphaltMatchThresholdBo bo);

    /**
     * 新增沥青筛分级配
     */
    Boolean insertByBo(NAsphaltMatchThresholdBo bo);

    /**
     * 修改沥青筛分级配
     */
    Boolean updateByBo(NAsphaltMatchThresholdBo bo);

    /**
     * 校验并批量删除沥青筛分级配信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    /**
     * 根据级配名称获取上下限信息
     * @param matchName 配方名称
     * @return 上下限信息
     */
    NAsphaltMatchThreshold getByMatchName(String matchName);

    /**
     * 获取上下限分页数据
     * @param bo
     * @param pageQuery
     * @return
     */
    TableDataInfo<NAsphaltMatchThresholdVo> page(NAsphaltMatchThresholdBo bo, PageQuery pageQuery);

    /**
     * 获取上下限信息
     * @param id
     * @return
     */
    NAsphaltMatchThresholdVo find(String id);
}
